package main

import (
	"data_struct/data/queue"
	"fmt"
)
func main() {
	const MaxSize = 6
	var arr [MaxSize]int
	q := &queue.LoopQueue{
		MaxSize:MaxSize,
		Array:arr[:],
		Head:0,
		Tail:0,
	}
	var key string
	var i int
	var flag bool = true
	for;flag;{
		fmt.Println("输入add添加")
		fmt.Println("输入show查看")
		fmt.Println("输入get出队")
		fmt.Println("输入exit退出")

		fmt.Scanln(&key)
		switch key {
		case "add":
			fmt.Println("请输入需要添加的值：")
			_, _ = fmt.Scanln(&i)
			err := q.AddLoopQueue(i)
			if err != nil{
				fmt.Println(err.Error())
			}else {
				fmt.Println("添加成功！")
			}
		case "show":
			q.ShowLoopQueue()
		case "get":
			v, err := q.GetLoopQueue()
			if err != nil{
				fmt.Println(err.Error())
			}else{
				fmt.Println(v.(int))
			}
		case "exit":
			flag = false
		default:
			fmt.Println("请输入选择！")
		}

	}

}
